package b1_xay_dung_tap_du_lieu_mau;

import java.util.ArrayList;
import java.util.List;

public class User {
	public int id;
	/**
	 * list_user_RT dùng để lưu danh sách các user đã Retweet từ user này. Có
	 * nghĩa là tin từ user này có thể lan truyền đến những user trong list
	 */
	public List<Integer> list_id_user_RT = new ArrayList<Integer>();

	// Xác định là node bình thường, node giám sát dương hay âm
	public int flag_monitor = 0;

	// bien hasRumort dùng để xác định khi lan truyền, node này nhận đc hay ko
	public boolean has_rumour = false;

	// biến lưu khả năng liên thông đến tập giám sát dương và âm
	public boolean reachability_to_positive = false;
	public boolean reachability_to_negative = false;

	// biến lưu khoảng cách đến tập giám sát dương và âm
	public int distance_to_positive = -1;
	public int distance_to_negative = -1;

	public User(int i) {
		id = i;
	}

	public User(User u) {
		// TODO Auto-generated constructor stub
		id = u.id;
		flag_monitor = u.flag_monitor;
		has_rumour = u.has_rumour;

		reachability_to_negative = u.reachability_to_negative;
		reachability_to_positive = u.reachability_to_positive;
		distance_to_negative = u.distance_to_negative;
		distance_to_positive = u.distance_to_positive;

		list_id_user_RT = u.list_id_user_RT;

	}

	public void add_user_RT(int id) {
		list_id_user_RT.add(id);
	}

	public boolean has_user(int id) {
		for (int i = 0; i < list_id_user_RT.size(); i++) {
			if (list_id_user_RT.get(i) == id) {
				return true;
			}
		}
		return false;
	}

	public User copy() {
		return new User(this);
	}
}
